const Promise = require('../libs/bluebird') // 为了兼容问题

/**
 * 请求API接口
 * @param  {String} api    api 根地址
 * @param  {String} method 请求类型
 * @param  {String} path   请求路径
 * @param  {Objece} params 参数
 * @return {Promise}       包含抓取任务的Promise
 */
module.exports = function (api, path, method,params) {
    console.log("请求API接口 " + path)
    if(method == 'POST'){
        
        return new Promise((resolve, reject) => {
            wx.request({
                url: `${api}/${path}`,
                method: 'POST',
                data: params,//Object.assign({}, params), // 如果这里需要合并签名时间戳参数时候可以这么写
                header: {
                    "Content-Type": "application/x-www-form-urlencoded"
                },
                success: (res) => {
                    resolve(res)
                },
                fail: (err) => {
                    reject(err)
                }
            })
        })
    }else if(method == 'LCPOST'){
        console.log('LCPOST')
        return new Promise((resolve, reject) => {
            wx.request({
                url: `${api}/${path}`,
                method: 'POST',
                data: params,//Object.assign({}, params), // 如果这里需要合并签名时间戳参数时候可以这么写
                header: {
                    "Content-Type": "application/json"
                },
                success: (res) => {
                    resolve(res)
                },
                fail: (err) => {
                    reject(err)
                }
            })
        })
    }else{
        return new Promise((resolve, reject) => {
            wx.request({
                url: `${api}/${path}`,
                method: 'POST',
                data: params,//Object.assign({}, params), // 如果这里需要合并签名时间戳参数时候可以这么写
                header: {
                    'Content-Type': 'json'
                },
                success: (res) => {
                    resolve(res)
                },
                fail: (err) => {
                    reject(err)
                }
            })
        })
    }
}
